package org.visionlibrary.image.geomtric.lines.search.model;

import java.awt.image.BufferedImage;

import org.visionlibrary.image.geomtric.model.Point2d;


/**
 * Interfejs zwiazany z klasa implementujaca algorytm wektoryzacji poprzez
 * podazanie za konturem. Okresla on metody wspolne dla klas mogacych byc strategiami
 * sledzenia konturu.
 * 
 */
public interface SegmentTrackingStrategy {
	/**
	 * Metoda zwraca nastepny punkt nalezacy do konturu, ktory ma byc przetworzony.
	 * 
	 * @param paramPoint Poprzedni punkt.
	 * 
	 * @return Kolejny punkt.
	 */
	public abstract Point2d nextPoint(Point2d paramPoint);
	
	/**
	 * Metoda pozwala na pobranie koloru konturu.
	 * 
	 * @return Kolor konturu.
	 */
	public abstract int getOutlineColor();
	
	/**
	 * Metoda pozwala na ustawienie kopii obrazu, dla wykorzystania przez klase
	 * realizujaca strategie sledzenia.
	 * 
	 * @param paramBufferedImage Obraz.
	 */
	public abstract void setImage(BufferedImage paramBufferedImage);
}